package com.canal.starter.transfer;

import com.alibaba.otter.canal.client.CanalConnector;
import com.canal.starter.client.ListenerPoint;
import com.canal.starter.config.CanalProperties;
import com.canal.starter.event.CanalEventListener;

import java.util.List;
import java.util.Map;

/**
 * TransponderFactory
 *
 * @author chen.qian
 * @date 2018/3/23
 */
public interface TransponderFactory {
    /**
     * 方法功能描述
     *
     * @param connector
     * @param config
     * @param listeners
     * @param annoListeners
     * @return com.xpand.starter.canal.client.transfer.MessageTransponder
     */
    MessageTransponder newTransponder(CanalConnector connector, Map.Entry<String, CanalProperties.Instance> config, List<CanalEventListener> listeners, List<ListenerPoint> annoListeners);
}
